/*
Copyright 2017 Google Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

var aacGaplessPeaks = [.065057, .888485, .393176, .553134, .243640, .256377, .249658,
  .242726, .195467, .267048, .208589, .127618, .172059, .302784, .180405, .190715,
  .138896, .100028, .125979, .179570, .108937, .119942, .112514, .134016, .102990,
  .135153, .093691, .102426, .117748, .131935, .107514, .110085, .115866, .074769,
  .072084, .030566, .053498, .042498, .060269, .045658, .032929, .055061, .066045,
  .048622, .049239, .044972, .038034, .037485, .028449, .057370, .045213, .056344,
  .021107, .036082, .041465, .028813, .029626, .029750, .033829, .023944, .036899,
  .026266, .029542, .031819, .031339, .031571, .020895, .015893, .030261, .018709,
  .022455, .022933, .021905, .011193, .018303, .016923, .012585, .018728, .026177,
  .022034, .024415, .026731, .020913, .025717, .021142, .018221, .019776, .014560,
  .020446, .029592, .024399, .017157, .016899, .030485, .023520, .021899, .020335,
  .027167, .034647, .029320, .019384, .023036, .033629, .018872, .021610, .030736,
  .024648, .018309, .023624, .020379, .021334, .030847, .027547, .024029, .022573,
  .029084, .032743, .027966, .024840, .029142, .028646, .019166, .022836, .032482,
  .021451, .020143, .023318, .038766, .030071, .029243, .040084, .021765, .022264,
  .041779, .035054, .026288, .030523, .027353, .018761, .034604, .033217, .016062,
  .030072, .028641, .024286, .032151, .023312, .030426, .025407, .022919, .038201,
  .026285, .027474, .020237, .021224, .033929, .022885, .027857, .172104, .112645,
  .176096, .100539, .071378, .095489, .146743, .139228, .063915, .078246, .089088,
  .066396, .107442, .072877, .066636, .098357, .063945, .061824, .068689, .064573,
  .063667, .056889, .050972, .048603, .071910, .054989, .043314, .054140, .058614,
  .047486, .057722, .048901, .054016, .049828, .042514, .051851, .065157, .064194,
  .066988, .061481, .066990, .045999, .043171, .078936, .089827, .078762, .043065,
  .063250, .065426, .066738, .059899, .036731, .031604, .040655, .041419, .042335,
  .041669, .051567, .045145, .046895, .043809, .048334, .062063, .061939, .064254,
  .057948, .055647, .047471, .056401, .047775, .050899, .060186, .043915, .048085,
  .039828, .052985, .059561, .037749, .036531, .044342, .046468, .046768, .043427,
  .043836, .051893, .051993, .057923, .052380, .057357, .053812, .051361, .044009,
  .040835, .044957, .047446, .044288, .043649, .044070, .044318, .038567, .046214,
  .038777, .042512, .038044, .038816, .051308, .044863, .045190, .038132, .042370,
  .042603, .043219, .045199, .035697, .045179, .051280, .048203, .052419, .049145,
  .050111, .043752, .050789, .050164, .044846, .046393, .051552, .063015, .060984,
  .054317, .053843, .067135, .062400, .074224, .061679, .066609, .063128, .065859,
  .069365, .050765, .053287, .051123, .066825, .041462, .046727, .039459, .042812,
  .092047, .088400, .094606, .103425, .120599, .072460, .082503, .098375, .107841,
  .083373, .076261, .056533, .074367, .071488, .075211, .060675, .042779, .048861,
  .056342, .054227, .058668, .062281, .057527, .039888, .040264, .041884, .045617,
  .043966, .034410, .031628, .039507, .042221, .040104, .054463, .037313, .034594,
  .024937, .064570, .071076, .052546, .065540, .072884, .073959, .063053, .055783,
  .054496, .042114, .040661, .044821, .043552, .036079, .041404, .052125, .051264,
  .042874, .043442, .065820, .058002, .062730, .061264, .054432, .046333, .064217,
  .058722, .047253, .061220, .064316, .068229, .061275, .060076, .076636, .084918,
  .075555, .057481, .061317, .050803, .049828, .036822, .051899, .044834, .046002,
  .051196, .056972, .058123, .063015, .054832, .065546, .077582, .089424, .078078,
  .083740, .081578, .072897, .068623, .067542, .067804, .064888, .061979, .077637,
  .062286, .056035, .070039, .069999, .065654, .052385, .054581, .046476, .048118,
  .055558, .043809, .065996, .090068, .066633, .086714, .091438, .073977, .054066,
  .058720, .045608, .043590, .037454, .036443, .038501, .043292, .045324, .038979,
  .048177, .042668, .043548, .046491, .044952, .063584, .067069, .076919, .080861,
  .082173, .091685, .090357, .108178, .103984, .081523, .074385, .085772, .084986,
  .071719, .073713, .095512, .158515, .149603, .157334, .137006, .118789, .125601,
  .123923, .119125, .102231, .093730, .086402, .082603, .096763, .101521, .072780,
  .071110, .086435, .079199, .092778, .087107, .084593, .102946, .081127, .085888,
  .112075, .095497, .089001, .103773, .111963, .088956, .122296, .107945, .104708,
  .098581, .099251, .099359, .106404, .136883, .124712, .146432, .150272, .156283,
  .102182, .067272, .073616, .068174, .077748, .090498, .089213, .083377, .084073,
  .084564, .104753, .123230, .111845, .079797, .077209, .148257, .134195, .124270,
  .109580, .128799, .162362, .133443, .098513, .097134, .102111, .112959, .090541,
  .078866, .095641, .088669, .090235, .096243, .104020, .091643, .097419, .101258,
  .103094, .082324, .073439, .069689, .052367, .065204, .056880, .065489, .062692,
  .075526, .087892, .108637, .117255, .121660, .148108, .141541, .146408, .138538,
  .116943, .113440, .142015, .094975, .104264, .120544, .098638, .084731, .103479,
  .107015, .112831, .115341, .119641, .098654, .118812, .111181, .129374, .091517,
  .103267, .110071, .120671, .116367, .128254, .093551, .097807, .094695, .087677,
  .088946, .145593, .143849, .150965, .146091, .155190, .145559, .158194, .156830,
  .216238, .247297, .193188, .282476, .213049, .302197, .280628, .298408, .350249,
  .313903, .351872, .302445, .405333, .362699, .358065, .254660, .323047, .262779,
  .290843, .408253, .589927, .747282, .627362, .714635, .709393, .551377, .760678,
  .471937, .474148, .622255, .552820, .476927, .492129, .544150, .416606, .418375,
  .457569, .420589, .402251, .381768, .313016, .326708, .362473, .282913, .282619,
  .307627, .413082, .350610, .355915, .286636, .309642, .378149, .348206, .253091,
  .241184, .273012, .284225, .288209, .293014, .312725, .228543, .254502, .294325,
  .241654, .239195, .271064, .286166, .325777, .267020, .286918, .333130, .278374,
  .239742, .314531, .303211, .295699, .330339, .280111, .293772, .228751, .328688,
  .348688, .309065, .333198, .281692, .374771, .374018, .349013, .346521, .289067,
  .369559, .395367, .334092, .360299, .376167, .362438, .304173, .343451, .307159,
  .290051, .342303, .452555, .394698, .329720, .343943, .396527, .303114, .308146,
  .267711, .254577, .314484, .337146, .389733, .365994, .295069, .375627, .365323,
  .314410, .348225, .248856, .280719, .276768, .333370, .344907, .253262, .242257,
  .233478, .245733, .231079, .181479, .226297, .251306, .218548, .232289, .261496,
  .241237, .245879, .241874, .156575, .193743, .184457, .155625, .219666, .192966,
  .191619, .215510, .157842, .156230, .125372, .122913, .127710, .134111, .108563,
  .097795, .084820, .071981, .048359, .052037, .049626, .033163, .028435, .023255,
  .012413, .007994, .004432, .000819, 0,
];

var mp3GaplessPeaks = [.065188, .887799, .391675, .554872, .244652, .256417,
  .248650, .242561, .196158, .267281, .208670, .127903, .172155, .303049, .180090,
  .190512, .139119, .099597, .126118, .179464, .108798, .119922, .112537, .134190,
  .103107, .135289, .093600, .102298, .117985, .132191, .107501, .110004, .115955,
  .074969, .072207, .030580, .053423, .042482, .060518, .045717, .032746, .055071,
  .065905, .048601, .049135, .045015, .038224, .037431, .028443, .057466, .045152,
  .056322, .021104, .036042, .041475, .028871, .029710, .029771, .033784, .023972,
  .036836, .026276, .029557, .031709, .031449, .031465, .020829, .015839, .030274,
  .018738, .022385, .022874, .021989, .011261, .018281, .016831, .012574, .018845,
  .026185, .022050, .024445, .026826, .020875, .025681, .021210, .018296, .019715,
  .014451, .020341, .029511, .024232, .017136, .016938, .030610, .023606, .021943,
  .020417, .027421, .034654, .029466, .019456, .022874, .033738, .018937, .021546,
  .030671, .024674, .018342, .023621, .020356, .021287, .030885, .027482, .024049,
  .022507, .029191, .032792, .028001, .024796, .029145, .028596, .019257, .022889,
  .032533, .021409, .020188, .023438, .038820, .030168, .029313, .040147, .021775,
  .022324, .041749, .035096, .026383, .030671, .027375, .018754, .034608, .033326,
  .016099, .030076, .028581, .024277, .032151, .023286, .030427, .025452, .022813,
  .038301, .026307, .027497, .020234, .021241, .033967, .022965, .027848, .172124,
  .112598, .176031, .100787, .071154, .095386, .147023, .139531, .063997, .078051,
  .089450, .067064, .107471, .072985, .066607, .097873, .064074, .061953, .068255,
  .064287, .064028, .057115, .050935, .048616, .072207, .055101, .043229, .053728,
  .058687, .047258, .057360, .049196, .054125, .049974, .042650, .051698, .065401,
  .064196, .067095, .061846, .067034, .045839, .043199, .079287, .089511, .079073,
  .042817, .062883, .066057, .066774, .060259, .036622, .031983, .040803, .041444,
  .042421, .041856, .051195, .044862, .046876, .043764, .048235, .061556, .061739,
  .063662, .057405, .055330, .047945, .056276, .047334, .050951, .060076, .043367,
  .048097, .039857, .053423, .059908, .038057, .036546, .043855, .046953, .047365,
  .043458, .044084, .052416, .052232, .057772, .052217, .057237, .054109, .051363,
  .044145, .041169, .045030, .047731, .043962, .043519, .044755, .043977, .038957,
  .046251, .038774, .042405, .037858, .039567, .050798, .044923, .044740, .037721,
  .042375, .042894, .043886, .045717, .035920, .044954, .051347, .048158, .052797,
  .049303, .049684, .043687, .050737, .050523, .044649, .046876, .051881, .063387,
  .060610, .053591, .053133, .067370, .061998, .074282, .061418, .066317, .062883,
  .065600, .070132, .050859, .053652, .050584, .067248, .041551, .046571, .039552,
  .042970, .091342, .088855, .094989, .102924, .120396, .072466, .083316, .098361,
  .107425, .083132, .077181, .056764, .074923, .071474, .075152, .061083, .042955,
  .048204, .056063, .053835, .058947, .062273, .057100, .040040, .040208, .041734,
  .045854, .043992, .034425, .031709, .039796, .042161, .039460, .054415, .037263,
  .034516, .024644, .065615, .070956, .052141, .066073, .073305, .074129, .062716,
  .055239, .054018, .042482, .041276, .044710, .042985, .035188, .041643, .052171,
  .051592, .042665, .043046, .065874, .058123, .063112, .061647, .054445, .046297,
  .063692, .058535, .046434, .061281, .064455, .067782, .061510, .059526, .077181,
  .084750, .074755, .058000, .061647, .050920, .050233, .036729, .051378, .044343,
  .045763, .051164, .056978, .058580, .063478, .054964, .065935, .077822, .088687,
  .078295, .083758, .081622, .073183, .068255, .067248, .067858, .064425, .062059,
  .077029, .062700, .056200, .069689, .069170, .065706, .053102, .053987, .046648,
  .047594, .055635, .043977, .066439, .090182, .067003, .087283, .091662, .074252,
  .053316, .059099, .045381, .043519, .037492, .036836, .038804, .042879, .045625,
  .038881, .047258, .042497, .044115, .046678, .045183, .063524, .067217, .077441,
  .081210, .082095, .091113, .089846, .108402, .103092, .081362, .073870, .084658,
  .083880, .072130, .075518, .095920, .158666, .149464, .158238, .137379, .118717,
  .126835, .124241, .118519, .102832, .094546, .085803, .082263, .096667, .102435,
  .072588, .072024, .087558, .079318, .093234, .087420, .084735, .102161, .081820,
  .085650, .112049, .095676, .087405, .103015, .111835, .088031, .122547, .107486,
  .106098, .099200, .099017, .098148, .107471, .138630, .124363, .146626, .151051,
  .155812, .102786, .066408, .072802, .067003, .078936, .090091, .089892, .084796,
  .083956, .085192, .104923, .123981, .112339, .080004, .079150, .148991, .134297,
  .124622, .110752, .128117, .161275, .132603, .099750, .096545, .102390, .114093,
  .092883, .078417, .096103, .088260, .089801, .095248, .104663, .092273, .098666,
  .100909, .104282, .081118, .073672, .069552, .051683, .064043, .055986, .065554,
  .063128, .075762, .087481, .107334, .119236, .120167, .147679, .141835, .149144,
  .139378, .116962, .112720, .141285, .095248, .104831, .120731, .098254, .084124,
  .104053, .108432, .112278, .115619, .119175, .098560, .118748, .111164, .128758,
  .090243, .103000, .109180, .120548, .118351, .129658, .095401, .097919, .094333,
  .087863, .089602, .144200, .144215, .150380, .146626, .154530, .143529, .158467,
  .157521, .216224, .248329, .193487, .282098, .212394, .300089, .280709, .295679,
  .348720, .314493, .350429, .306299, .407193, .362575, .360317, .253945, .324122,
  .265938, .291452, .409268, .592273, .753929, .634220, .718528, .716376, .544465,
  .762062, .473373, .466323, .623630, .556352, .471206, .491211, .545167, .415357,
  .422758, .458510, .424177, .404569, .381207, .312769, .324534, .361370, .283914,
  .281396, .309015, .415311, .352535, .360073, .282586, .314310, .376339, .350719,
  .255181, .245979, .269662, .283807, .287210, .289026, .311975, .231117, .252434,
  .295206, .242775, .238075, .266381, .287652, .328379, .266411, .288003, .336177,
  .280374, .242912, .319361, .307092, .292840, .329234, .283471, .293939, .225120,
  .329066, .347179, .312967, .332331, .282693, .370861, .376339, .350276, .351329,
  .289743, .373775, .392392, .341639, .363033, .374844, .361827, .302591, .341182,
  .306024, .292383, .340785, .451674, .398312, .328028, .341334, .400891, .312235,
  .316324, .268120, .256462, .316599, .345424, .388913, .363506, .303507, .369823,
  .365444, .318735, .346339, .245582, .279122, .276177, .328486, .343837, .255058,
  .244453, .234779, .252266, .228736, .185492, .226157, .251549, .217109, .235527,
  .261330, .245689, .249977, .244224, .160451, .186758, .181997, .153859, .221564,
  .196585, .192969, .215293, .161031, .153264, .127155, .123157, .126011, .133671,
  .111881, .097644, .083956, .071245, .047349, .051866, .048952, .033891, .028871,
  .023164, .012375, .007889, .004242, .000793, 0,
];
var mp3GapPeaks = [.000076, .887799, .399808, .300623, .554872, .252586, .256417,
  .242561, .196158, .148961, .267281, .111270, .172155, .303049, .180090, .190512,
  .139119, .086413, .099597, .160070, .179464, .119922, .112537, .134190, .103107,
  .135289, .107807, .102298, .117985, .132191, .107501, .110004, .115955, .077456,
  .052568, .072207, .053423, .042482, .060518, .045717, .026551, .034532, .065905,
  .048601, .049135, .045015, .038224, .037431, .035035, .055071, .057466, .056322,
  .021104, .036042, .041475, .028672, .029710, .029771, .033784, .023972, .036836,
  .026276, .029557, .031709, .031449, .031465, .020829, .015839, .030274, .018738,
  .022385, .022874, .021989, .011261, .018281, .016831, .012574, .018845, .026185,
  .022050, .024445, .026826, .019913, .025681, .021210, .018296, .019715, .014008,
  .020341, .029511, .024232, .017136, .016938, .030610, .023606, .021760, .020417,
  .027421, .034654, .029466, .019456, .022874, .033738, .015244, .021546, .030671,
  .024674, .018342, .023621, .020356, .021287, .030885, .027482, .020112, .022507,
  .032792, .028382, .028001, .024796, .029145, .028596, .019257, .032533, .031220,
  .021409, .020188, .038820, .030168, .023896, .029313, .040147, .021592, .029847,
  .041749, .022767, .026383, .030671, .027375, .034608, .032792, .033326, .018296,
  .030076, .028581, .025620, .032151, .030427, .025452, .025193, .021973, .038301,
  .026307, .027497, .021088, .033967, .022965, .026078, .080889, .172124, .176031,
  .071947, .100787, .071154, .095386, .085025, .147023, .136509, .078051, .089450,
  .036744, .100269, .107471, .058947, .097873, .051973, .064074, .059664, .068255,
  .064028, .057115, .050935, .048616, .072207, .055101, .043229, .053728, .043794,
  .058687, .057360, .049196, .054125, .048570, .049974, .051698, .065401, .064196,
  .067095, .064562, .067034, .045839, .043199, .079287, .089511, .079073, .041734,
  .062883, .066057, .066774, .060259, .036622, .031983, .040803, .041444, .042421,
  .041856, .051195, .044862, .046876, .043764, .048235, .061556, .061739, .063662,
  .057405, .055330, .047945, .056276, .047334, .050951, .060076, .043367, .048097,
  .039857, .053423, .059908, .038057, .036546, .046953, .047365, .037721, .043458,
  .044084, .052416, .053438, .057772, .052812, .057237, .054109, .051363, .044145,
  .042756, .045030, .047731, .043962, .043519, .044755, .043977, .046251, .046113,
  .042405, .036714, .037858, .039567, .050798, .044923, .037721, .035951, .042894,
  .039537, .045717, .036515, .035920, .051347, .045305, .048158, .052797, .049684,
  .043687, .049577, .050737, .049059, .046876, .051561, .063387, .059038, .060610,
  .052263, .058550, .067370, .061998, .074282, .061418, .066317, .062883, .065600,
  .070132, .050859, .053652, .050584, .067248, .041551, .046571, .039552, .042970,
  .091342, .079424, .094989, .120396, .067827, .083316, .098361, .107425, .083132,
  .079180, .077181, .056764, .074923, .071474, .075152, .042955, .035051, .043382,
  .051988, .056063, .058947, .062273, .057100, .040040, .040208, .041734, .045854,
  .043992, .034425, .031709, .039796, .042161, .039460, .054415, .037263, .036714,
  .034516, .065615, .065828, .070956, .053621, .073305, .074129, .062716, .055239,
  .054018, .042482, .041276, .044710, .042985, .035188, .041643, .052171, .051592,
  .042665, .043046, .065874, .058123, .063112, .061647, .052934, .056795, .063692,
  .058535, .057024, .061281, .064455, .067782, .061510, .059526, .081927, .084750,
  .074755, .058000, .061647, .050920, .050233, .036729, .051378, .044343, .045976,
  .056978, .052034, .063478, .056993, .065935, .072634, .077822, .088687, .078295,
  .083758, .081622, .073183, .068255, .067248, .067858, .064425, .062059, .077029,
  .062700, .056200, .069689, .069170, .065706, .053102, .053987, .046648, .048677,
  .055635, .043977, .081591, .090182, .067003, .087283, .091662, .073717, .053316,
  .059099, .045381, .043519, .037492, .036836, .038804, .042879, .045625, .038881,
  .047258, .042497, .044115, .046678, .045183, .063524, .067217, .077441, .081210,
  .082095, .091113, .089846, .108402, .103092, .076693, .073870, .084658, .083880,
  .071978, .084780, .158666, .132450, .149464, .158238, .124119, .126835, .101047,
  .124241, .113498, .100787, .083987, .085803, .094104, .102435, .094592, .072588,
  .072024, .087558, .093234, .087603, .076922, .084735, .102161, .085650, .089633,
  .112049, .095676, .103015, .111835, .097858, .088031, .122547, .107486, .106098,
  .099200, .099017, .098148, .107471, .138630, .124363, .146626, .151051, .155812,
  .102786, .066408, .072802, .067003, .078936, .090091, .089892, .084796, .083956,
  .085192, .104923, .123981, .112339, .080004, .080599, .148991, .134297, .124622,
  .110752, .128117, .161275, .132603, .099750, .096545, .102390, .114093, .092883,
  .078417, .096103, .088260, .089801, .095248, .104663, .092273, .098666, .100909,
  .104282, .075121, .073672, .069552, .051683, .064043, .059862, .065554, .063128,
  .087481, .091556, .107334, .120167, .128010, .147679, .141987, .149144, .139378,
  .116962, .112720, .141285, .096973, .104831, .120731, .098254, .083056, .104053,
  .108432, .112278, .115619, .119175, .098560, .118748, .111164, .128758, .090243,
  .103000, .109180, .120548, .118351, .129658, .095401, .097919, .094333, .087863,
  .107059, .144200, .144215, .150380, .146626, .154530, .143529, .158467, .156941,
  .216224, .248329, .238487, .282098, .300089, .270150, .280709, .295679, .348720,
  .314493, .350429, .306299, .407193, .362575, .360317, .324122, .301904, .287454,
  .316431, .409268, .753929, .612873, .718528, .716376, .614124, .762062, .758843,
  .467025, .466323, .623630, .504746, .491211, .545167, .457183, .415357, .422758,
  .458510, .404569, .391583, .312769, .318125, .352123, .361370, .283914, .282632,
  .415311, .352535, .360073, .298502, .314310, .367214, .376339, .280923, .245979,
  .269662, .246239, .244087, .287210, .289026, .311975, .231117, .252434, .295206,
  .242775, .238075, .266381, .287652, .328379, .266411, .288003, .336177, .280374,
  .242912, .319361, .307092, .292840, .329234, .283471, .293939, .286599, .329066,
  .347179, .312967, .332331, .282693, .370861, .376339, .350276, .351329, .289743,
  .373775, .392392, .363033, .330897, .374844, .285882, .302591, .341182, .306024,
  .292383, .340785, .451674, .275918, .328028, .341334, .400891, .312235, .316324,
  .268120, .256462, .316599, .345424, .388913, .347591, .307260, .369823, .356685,
  .346339, .344539, .238624, .279122, .276177, .328486, .343837, .255058, .234809,
  .234779, .252266, .211524, .226157, .197821, .251549, .217109, .235527, .261330,
  .245689, .249977, .224433, .151738, .186758, .181997, .131687, .221564, .196585,
  .215293, .161031, .140324, .153264, .127155, .109485, .126682, .133671, .097644,
  .087466, .079501, .071245, .051866, .048952, .035157, .033891, .023164, .017640,
  .010346, .007447, .003006, .000031, 0,
];
